﻿namespace BlogsAPI
{
    using System;
    using Abstract;

    /// <summary>
    /// Аккаунт, идентифицирующий пользователя по OpenID
    /// </summary>
    public class UserOpenID : UserAccount
    {
        /// <summary>
        /// Сервер, отвечающий за подтверждение идентификатора
        /// </summary>
        public BlogServer OpenIdServer;

        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="server"></param>
        /// <param name="user"></param>
        public UserOpenID(BlogServer server,UserAccount user):base(user.username,user.password)
        {
            OpenIdServer = server;
        }

        /// <summary>
        /// Конструктор по ссылке на блог и паролю
        /// </summary>
        /// <param name="bloglink">ссылка на блог</param>
        /// <param name="p">пароль</param>
        public UserOpenID(string bloglink,string p)
        {
            BlogType bt;
            OpenIdServer = (BlogServer)Common.GetBlogServiceByLink(bloglink, out username, out bt);
            password = p;
        }

        /// <summary>
        /// Для красоты
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            return "[" + OpenIdServer.GetType().Name+" / "+ username + " / " + password + "]";
        }
    }
}
